home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 1 / Pier Shareware 1.iso / 007a / courspas.exe / CHAP07.EXE / EQUAT2D.PAS < prev    next >
Pascal/Delphi Source File  |  1991-01-14  |  2KB  |  54 lines

  1. program EquatSecDegre;  {EQUAT2D.PAS}
  2. uses
  3.   crt;  { unité de Turbo Pascal 6 }
  4.  
  5. var
  6.   a,b,c,           { coefficients }
  7.   x1,x2,           { racines      }
  8.   re,im,           { Partie réelle}
  9.                    { et imaginaire}
  10.   p,               { p = b/a      }
  11.   q,               { q = c/a      }
  12.   d        : real; { discriminant }
  13.  
  14. begin
  15.   clrscr;
  16.   {-------------- Lecture des coefficients ------}
  17.   write('Introduisez a: '); readln(a);
  18.   write('Introduisez b: '); readln(b);
  19.   write('Introduisez c: '); readln(c);
  20.   writeln;
  21.   {-------------- Initialisations ---------------}
  22.   x1:= 0; x2:= 0; re:= 0; im:= 0; d:= 0;
  23.   {-------------- Calcul ------------------------}
  24.   if a = 0
  25.   then begin { l'équation n'a pas de solution }
  26.          writeln('L''équation n''a pas de solution,');
  27.          writeln('car           a = 0!!          ');
  28.        end
  29.   else begin { Si a <> 0, alors... }
  30.          p:= b/a;
  31.          q:= c/a;
  32.          d:= sqr(p/2) - (q);
  33.          if d < 0
  34.          then begin  { racines complexes conjuguées }
  35.                 d:= abs(d); { valeur absolue de D }
  36.                 re:= -(p/2);
  37.                 im:= sqrt(d);
  38.                 writeln('x1 = ',re:10:2,
  39.                         ' + ',im:10:2,' i');
  40.                 writeln('x2 = ',re:10:2,
  41.                         ' - ',im:10:2,' i');
  42.               end
  43.          else begin { racines réelles }
  44.                 x1:= -(p/2) + sqrt(d);
  45.                 x2:= -(p/2) - sqrt(d);
  46.                 writeln('x1 = ',x1:10:2);
  47.                 writeln('x2 = ',x2:10:2);
  48.               end;
  49.        end; { else }
  50.   gotoxy(1,25);
  51.   write('Veuillez appuyer sur <CR>...');
  52.   readln;
  53. end.
  54.